package org.iabako.shared.entity.enumeration;

import org.iabako.client.tools.Messages;

/**
 * Date: 22/09/13
 * Time: 18:59
 */
public enum Country implements LabelEnum {

    albania("albania","AL"),
    algeria("algeria","DZ"),
    andorra("andorra","AD"),
    angola("angola","AO"),
    anguilla("anguilla","AI"),
    antigua_and_barbuda("antigua_and_barbuda","AG"),
    argentina("argentina","AR"),
    armenia("armenia","AM"),
    aruba("aruba","AW"),
    australia("australia","AU"),
    austria("austria","AT"),
    azerbaijan("azerbaijan","AZ"),
    bahamas("bahamas","BS"),
    bahrain("bahrain","BH"),
    barbados("barbados","BB"),
    belgium("belgium","BE"),
    belize("belize","BZ"),
    benin("benin","BJ"),
    bermuda("bermuda","BM"),
    bhutan("bhutan","BT"),
    bolivia("bolivia","BO"),
    bosnia_herzegovina("bosnia_herzegovina","BA"),
    botswana("botswana","BW"),
    brazil("brazil","BR"),
    brunei_darussalam("brunei_darussalam","BN"),
    bulgaria("bulgaria","BG"),
    burkina_faso("burkina_faso","BF"),
    burundi("burundi","BI"),
    cambodia("cambodia","KH"),
    canada("canada","CA"),
    cape_verde("cape_verde","CV"),
    cayman_islands("cayman_islands","KY"),
    chad("chad","TD"),
    chile("chile","CL"),
    china("china","C2"),
    colombia("colombia","CO"),
    comoros("comoros","KM"),
    democratic_republic_of_congo("democratic_republic_of_congo","CD"),
    congo("congo","CG"),
    cook_islands("cook_islands","CK"),
    costa_rica("costa_rica","CR"),
    croatia("croatia","HR"),
    cyprus("cyprus","CY"),
    czech_republic("czech_republic","CZ"),
    denmark("denmark","DK"),
    djibouti("djibouti","DJ"),
    dominica("dominica","DM"),
    dominican_republic("dominican_republic","DO"),
    ecuador("ecuador","EC"),
    egypt("egypt","EG"),
    el_salvador("el_salvador","SV"),
    eriteria("eriteria","ER"),
    estonia("estonia","EE"),
    ethiopia("ethiopia","ET"),
    falkland_islands_malvinas("falkland_islands_malvinas","FK"),
    fiji("fiji","FJ"),
    finland("finland","FI"),
    france("france","FR"),
    french_guiana("french_guiana","GF"),
    french_polynesia("french_polynesia","PF"),
    gabon("gabon","GA"),
    gambia("gambia","GM"),
    georgia("georgia","GE"),
    germany("germany","DE"),
    gibraltar("gibraltar","GI"),
    greece("greece","GR"),
    greenland("greenland","GL"),
    grenada("grenada","GD"),
    guadeloupe("guadeloupe","GP"),
    guam("guam","GU"),
    guatemala("guatemala","GT"),
    guinea("guinea","GN"),
    guinea_bissau("guinea_bissau","GW"),
    guyana("guyana","GY"),
    holy_see_vatican_city_state("holy_see_vatican_city_state","VA"),
    honduras("honduras","HN"),
    hong_kong("hong_kong","HK"),
    hungary("hungary","HU"),
    iceland("iceland","IS"),
    india("india","IN"),
    indonesia("indonesia","ID"),
    ireland("ireland","IE"),
    israel("israel","IL"),
    italy("italy","IT"),
    jamaica("jamaica","JM"),
    japan("japan","JP"),
    jordan("jordan","JO"),
    kazakhstan("kazakhstan","KZ"),
    kenya("kenya","KE"),
    kiribati("kiribati","KI"),
    korea_republic_of("korea_republic_of","KR"),
    kuwait("kuwait","KW"),
    kyrgyzstan("kyrgyzstan","KG"),
    laos("laos","LA"),
    latvia("latvia","LV"),
    lesotho("lesotho","LS"),
    liechtenstein("liechtenstein","LI"),
    lithuania("lithuania","LT"),
    luxembourg("luxembourg","LU"),
    madagascar("madagascar","MG"),
    malawi("malawi","MW"),
    malaysia("malaysia","MY"),
    maldives("maldives","MV"),
    mali("mali","ML"),
    malta("malta","MT"),
    marshall_islands("marshall_islands","MH"),
    martinique("martinique","MQ"),
    mauritania("mauritania","MR"),
    mauritius("mauritius","MU"),
    mayotte("mayotte","YT"),
    mexico("mexico","MX"),
    federated_states_of_micronesia("federated_states_of_micronesia","FM"),
    mongolia("mongolia","MN"),
    montserrat("montserrat","MS"),
    morocco("morocco","MA"),
    mozambique("mozambique","MZ"),
    namibia("namibia","NA"),
    nauru("nauru","NR"),
    nepal("nepal","NP"),
    netherlands("netherlands","NL"),
    netherlands_antilles("netherlands_antilles","AN"),
    new_caledonia("new_caledonia","NC"),
    new_zealand("new_zealand","NZ"),
    nicaragua("nicaragua","NI"),
    niger("niger","NE"),
    niue("niue","NU"),
    norfolk_island("norfolk_island","NF"),
    norway("norway","NO"),
    oman("oman","OM"),
    palau("palau","PW"),
    panama("panama","PA"),
    papua_new_guinea("papua_new_guinea","PG"),
    peru("peru","PE"),
    philippines("philippines","PH"),
    pitcairn("pitcairn","PN"),
    poland("poland","PL"),
    portugal("portugal","PT"),
    qatar("qatar","QA"),
    reunion("reunion","RE"),
    romania("romania","RO"),
    russian_federation("russian_federation","RU"),
    rwanda("rwanda","RW"),
    saint_helena("saint_helena","SH"),
    saint_kitts_and_nevis("saint_kitts_and_nevis","KN"),
    saint_lucia("saint_lucia","LC"),
    saint_pierre_and_miquelon("saint_pierre_and_miquelon","PM"),
    saint_vincent_and_the_grenadines("saint_vincent_and_the_grenadines","VC"),
    samoa("samoa","WS"),
    san_marino("san_marino","SM"),
    sao_tome_and_principe("sao_tome_and_principe","ST"),
    saudi_arabia("saudi_arabia","SA"),
    senegal("senegal","SN"),
    serbia("serbia","RS"),
    seychelles("seychelles","SC"),
    sierra_leone("sierra_leone","SL"),
    singapore("singapore","SG"),
    slovakia("slovakia","SK"),
    slovenia("slovenia","SI"),
    solomon_islands("solomon_islands","SB"),
    somalia("somalia","SO"),
    south_africa("south_africa","ZA"),
    south_korea("south_korea","KR"),
    spain("spain","ES"),
    sri_lanka("sri_lanka","LK"),
    suriname("suriname","SR"),
    svalbard_and_jan_mayen("svalbard_and_jan_mayen","SJ"),
    swaziland("swaziland","SZ"),
    sweden("sweden","SE"),
    switzerland("switzerland","CH"),
    taiwan_province_of_china("taiwan_province_of_china","TW"),
    tajikistan("tajikistan","TJ"),
    tanzania_united_republic_of("tanzania_united_republic_of","TZ"),
    thailand("thailand","TH"),
    togo("togo","TG"),
    tonga("tonga","TO"),
    trinidad_and_tobago("trinidad_and_tobago","TT"),
    tunisia("tunisia","TN"),
    turkey("turkey","TR"),
    turkmenistan("turkmenistan","TM"),
    turks_and_caicos_islands("turks_and_caicos_islands","TC"),
    tuvalu("tuvalu","TV"),
    uganda("uganda","UG"),
    ukraine("ukraine","UA"),
    united_arab_emirates("united_arab_emirates","AE"),
    united_kingdom("united_kingdom","GB"),
    united_states("united_states","US"),
    uruguay("uruguay","UY"),
    vanuatu("vanuatu","VU"),
    venezuela("venezuela","VE"),
    vietnam("vietnam","VN"),
    virgin_islands_british("virgin_islands_british","VG"),
    wallis_and_futuna("wallis_and_futuna","WF"),
    yemen("yemen","YE"),
    zambia("zambia","ZM");

    String labelKey;
    String paypalCode;

    Country(String labelKey, String paypalCode) {
        this.labelKey = labelKey;
        this.paypalCode = paypalCode;
    }

    public String getLabel() {
        return Messages.getLabel(labelKey);
    }

    public String getLabelKey() {
        return labelKey;
    }

    public String getPaypalCode() {
        return paypalCode;
    }
}
